// -------------------------------------------------------------------------
//    @FileName         :    {Filename}
//    @Author           :    GaoYi
//    @Date             :    2017-09-27
//    @Module           :   {Filename}
//
// -------------------------------------------------------------------------

#pragma once

#include "NFComm/NFPluginModule/NFITimerModule.h"

class NFITimerTestModule : public NFIModule
{

};

class NFIKernelModule;
class NFILogModule;

class NFCTimerTestModule : public NFITimerTestModule
{
public:
    NFCTimerTestModule(NFIPluginManager* p)
    {
        pPluginManager = p;
    }
public:
    virtual bool Init();
    virtual bool Execute();
protected:
    virtual void Test();
    virtual int ObjectFunctor(const NFGUID& self, const uint32_t nTimerId, const uint64_t nInterVal, const uint32_t nCallCount);
private:
    NFIKernelModule* m_pKernelModule;
    NFILogModule* m_pLogModule;
    NFITimerModule* m_pTimerModule;
    uint64_t lastTick = 0;
    uint32_t loop = 0;
};